Predictable Synchronisation Algorithms for Asynchronous Critical Sections
نویسندگان
چکیده
Multi-core processors are ubiquitous. Even embedded systems nowadays use processors with multiple cores. Such use cases often impose latency requirements because they interact with physical objects. One consequence is a need for synchronisation algorithms that provide predictable latency, in addition to high throughput. A promising approach are asynchronous critical sections that avoid waiting even when a resource is occupied. This paper introduces two algorithms that allow for both synchronous and asynchronous critical sections. Both algorithms base on a novel wait-free queue. The evaluation shows that both algorithms outperform pre-existing synchronisation algorithms for asynchronous requests, and perform similarly to traditional lock-based algorithms for synchronous requests. In summary, our synchronisation algorithms can improve throughput and predictability of parallel applications.
منابع مشابه
Comp9243 — Week 5 (08s1) Synchronisation & Coordination Time & Clocks
This lecture deals with one of the fundamental issues encountered when constructing a system made up of independent communicating processes: dealing with time and making sure that processes do the right thing at the right time. In essence this comes down to allowing processes to synchronise and coordinate their actions. Coordination refers to coordinating the actions of separate processes relat...
متن کاملCOMP 9243 — Week 4 ( 10 s 1 )
This lecture deals with one of the fundamental issues encountered when constructing a system made up of independent communicating processes: dealing with time and making sure that processes do the right thing at the right time. In essence this comes down to allowing processes to synchronise and coordinate their actions. Coordination refers to coordinating the actions of separate processes relat...
متن کاملCOMP 9243 — Week 4 ( 17 s 1 )
This lecture deals with one of the fundamental issues encountered when constructing a system made up of independent communicating processes: dealing with time and making sure that processes do the right thing at the right time. In essence this comes down to allowing processes to synchronise and coordinate their actions. Coordination refers to coordinating the actions of separate processes relat...
متن کاملCOMP 9243 — Week 4 ( 18 s 1 )
This lecture deals with one of the fundamental issues encountered when constructing a system made up of independent communicating processes: dealing with time and making sure that processes do the right thing at the right time. In essence this comes down to allowing processes to synchronise and coordinate their actions. Coordination refers to coordinating the actions of separate processes relat...
متن کاملGuarded Sections: Structuring Aid for Wait-Free Synchronisation
Wait-free synchronisation gives any process in the system strong progress guarantees, irrespective of number and behaviour of other processes simultaneously competing for shared resources (i.e., data structures and code sections). It ensures completion of any operation in a finite number of steps and, thus, provides the basis to derive bounded above or even constant executions times for each of...
متن کامل